package com.ruoyi.training.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 培训计划管理对象 tb_train_plan
 *
 * @author wng
 * @date 2024-08-04
 */
public class TrainPlan extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 标题
     */
    @Excel(name = "标题")
    private String title;

    /**
     * 培训地点
     */
    @Excel(name = "培训地点")
    private String address;

    /**
     * 培训开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "培训开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 培训结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "培训结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 考核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "考核时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date examTime;

    /**
     * 总学时（单位：小时）
     */
    @Excel(name = "总学时", readConverterExp = "单=位：小时")
    private Long classHour;

    /**
     * 培训方式
     */
    @Excel(name = "培训方式")
    private String type;

    /**
     * 授课教师
     */
    @Excel(name = "授课教师")
    private String teacher;

    /**
     * 0正常 1删除
     */
    private Integer delFlag;

    /**
     * 查询人
     */
    private Long selectByWho;
    /**
     * 是否报名 0否 1是
     */
    private Integer signFlag;

    public Integer getSignFlag() {
        return signFlag;
    }

    public void setSignFlag(Integer signFlag) {
        this.signFlag = signFlag;
    }

    public Long getSelectByWho() {
        return selectByWho;
    }

    public void setSelectByWho(Long selectByWho) {
        this.selectByWho = selectByWho;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setExamTime(Date examTime) {
        this.examTime = examTime;
    }

    public Date getExamTime() {
        return examTime;
    }

    public void setClassHour(Long classHour) {
        this.classHour = classHour;
    }

    public Long getClassHour() {
        return classHour;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setTeacher(String teacher) {
        this.teacher = teacher;
    }

    public String getTeacher() {
        return teacher;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("deptId", getDeptId())
                .append("title", getTitle())
                .append("address", getAddress())
                .append("startTime", getStartTime())
                .append("endTime", getEndTime())
                .append("examTime", getExamTime())
                .append("classHour", getClassHour())
                .append("type", getType())
                .append("teacher", getTeacher())
                .append("delFlag", getDelFlag())
                .append("createTime", getCreateTime())
                .append("createBy", getCreateBy())
                .append("updateTime", getUpdateTime())
                .append("updateBy", getUpdateBy())
                .toString();
    }
}
